Skip to main content

AFS AI Hub 系統憑證部署與替換說明

1. 目的

本文件說明在部署本系統後,如何將預設的自簽憑證替換為客戶提供的正式 SSL 憑證,以確保系統在正式環境中使用合法且可信任的 HTTPS 憑證。

2. 初始安裝流程(使用自簽憑證)

在首次安裝系統時,請執行以下指令:

./ffm-hub-installer/deploy/install.sh --public-ip

執行內容說明

此安裝流程將會:

  • 自動偵測並設定系統 Public IP
  • 初始化 Docker 環境
  • 啟動系統服務
  • 自動產生一組自簽 SSL 憑證(Self-Signed Certificate)
  • 建立預設 keystore.p12 供 Spring Boot HTTPS 使用

3. 憑證檔案位置

系統預設憑證存放於以下路徑:

ffm-hub-installer/certs/server/

包含以下檔案:

檔案名稱說明
certificate.crtX.509 憑證(公鑰憑證)
private.key私鑰檔案
keystore.p12Java SSL Keystore(包含憑證 + 私鑰)

4. 替換為客戶正式憑證(Production SSL)

當客戶擁有正式 CA 簽發的 SSL 憑證時,請依照以下步驟替換:

Step 1:準備憑證檔案

請向憑證提供單位取得以下檔案(檔名如不同請更名):

  • certificate.crt
  • private.key

Step 2:放置憑證檔案

將檔案覆蓋至系統指定路徑:

ffm-hub-installer/deploy/certs/server/

請確保檔名必須一致:

ffm-hub-installer/deploy/certs/server/certificate.crt
ffm-hub-installer/deploy/certs/server/private.key

Step 3:產生 keystore.p12

系統使用 Spring Boot 進行 HTTPS 啟動,需要 PKCS#12 格式的 keystore。

請使用以下指令產生(產生在同一目錄):

openssl pkcs12 -export \
-in certificate.crt \
-inkey private.key \
-out keystore.p12 \
-name server \
-passout pass:changeit

注意: keystore 密碼必須與系統設定一致(預設為 changeit

Step 4:確認檔案結構

完成後目錄應如下:

ffm-hub-installer/certs/server/
├── certificate.crt
├── private.key
└── keystore.p12

5. 修改 env

如果您的憑證有 Host Name,請修改 ffm-hub-installer/deploy 中的 .env,開啟後請找到 VM_IP 這個變數如下:

VM_IP={{主機IP}}

請將 {{主機IP}} 改為您的 Host Name。

6. 重新部署系統

完成憑證替換後,在 ffm-hub-installer/deploy 目錄中執行以下指令:

docker compose -f docker-compose.yaml down
docker compose -f docker-compose.yaml up -d

7. Keycloak Redirect_uri 設定

瀏覽器輸入:https://{{您的IP}}:8443/

帳密:admin / admin

  1. 選擇 Realm
    image

  2. Clients 選擇 ffm
    image

  3. 加入一個您的 Host Name 網址
    image

注意: 若執行重新佈署 redeploy.sh,以上步驟需要重新執行,並且有效憑證會被自動產生的自簽憑證覆蓋。